Method, system and computer program for generic synchronized motion control for multiple dynamic systems

ABSTRACT

The present invention provides a generic synchronized motion control system for multiple dynamic systems. Free choices of synchronization strategies are allowed with no implementation modification. Furthermore, synchronization selections are converted into a numerically searchable parameter space that enables systematic development, automated process, and performance optimization. In addition, the present invention enables a uniform computer program of control synchronization algorithm due to its innovation of separating synchronization strategy from control implementation.

FIELD OF THE INVENTION

The present invention relates to the field of motion synchronization. In particular, the present invention relates to the field of motion synchronization for multiple dynamic systems.

BACKGROUND OF THE INVENTION

Reference to background documents indicated by the square brackets [ ] refer to the “List of References” provided below.

With the ever-increasing demand for efficiency and flexibility, many engineering intensive applications opt to use multi-composed systems to conduct cooperative tasks. Such applications are widely spread across industry sectors, e.g., the multi-robot systems in automotive industry, the multi-actuated platforms in manufacturing, and formation flying of multiple flight vehicles or spacecraft (satellites) in aerospace, etc. The cooperative behavior for these multiple dynamic systems provides flexibility and maneuverability that cannot be achieved by an individual system. One key element to the success of such coordination is the motion synchronization among these involved components or systems. Motion synchronization addresses the cooperative or coordinated schemes of multi-composed systems when they work in an integrated fashion and are required to show the same kind of dynamic behavior. It requires high accuracy regulation of motion states such as the position, velocity and orientation. Therefore, the challenge lies in providing synchronized control strategy and real-time communications among the multi-composed systems.

Motion synchronization has been studied for a number of axes or motors in manufacturing process. A cross-coupling concept was proposed in early 1980s [1] where errors between systems (coupled errors) are to be synchronized. Since then, efforts of using this concept to improve synchronization performance of two-axis motions include the work of Kulkarni [2] and Kamano [3]. Other approaches include fuzzy logic coupling [4] and use of neuro-controllers [5]. Much of recent work can be found in the field of coordinated robots and multiple UAVs in formation flying, such as Jadbabaie [6], Beard [7], Angeles [8], and Lau [9].

With respect to flying vehicles, U.S. Pat. No. 6,271,768 to Frazier, Jr. et al. describes a system for avoiding traffic collisions, involving the cooperation of a follower aircraft in conjunction with lead aircraft. Data between the aircrafts are shared to coordinate flight.

Similarly, U.S. Pat. No. 6,718,236 issued to Hammer et al. teaches a method of trajectory planning and prediction among vehicles in their coordinated maneuver. The approach involves receiving and using the state data of numerous vehicles to coordinate them within a common maneuver. In this aspect, the approach is focused on predicting the trajectory states of the vehicles to conduct the coordinated maneuvers. However, what is not addressed is how to adjust to maintain such maneuvers, when coordination is slightly deviated and under disturbance. In other words, said prior art disclosure does not provide an automated control approach.

In general, a synchronized control approach using the cross-coupling strategy takes tracking actions by feeding back synchronization errors such as coupling errors. It creates interconnections that render mutual synchronization of involved multi-system motions. The strategy ensures stability and simultaneous convergence. However, there are still limitations in its implementation and operations.

First of all, there are many alternatives in selecting proper coupling errors for motion control. For example, one can compare its relative position with every other object in the system, or in some cases only the relative positions between the neighbouring systems are of interest. Obviously, different choices of coupling errors will lead to different synchronized control algorithms. Quite often it is difficult to predict which choice is better suited for a specific application in terms of dynamic performance before it is implemented and tested. However, changing the coupling error selections and the corresponding synchronizing control algorithms generally involves fundamental architecture modifications in the context of prior art solutions. It is a time-consuming and expensive task, and for some applications not financially viable. In these situations, the design suffers from performance degradation due to an early-stage selection mistake. Unfortunately, such a mistake is almost impossible to avoid upfront.

Secondly, one may argue that collecting all synchronization information possible among the systems will be more accurate and exhaustive, and will lead to better motion synchronization control. While this might be true in theory, in practice this will likely suffer from computational complexity that prevents the proposed controller from implementation. Given these realities, one needs to find a balance in trade-off between the synchronization strategies and their practical affordability.

In view of the foregoing, what is needed is a motion control method that overcomes limitations of prior art in terms of ad hoc selection of synchronization strategy, challenges in implementation modification, and trial-and-error evaluation of dynamic performance. In particular, what is needed is a uniform framework of motion synchronization.

SUMMARY OF THE INVENTION

The present invention provides a generic control method to synchronize motions among multiple dynamic systems in performing coordinated dynamic tasks.

In an aspect of the present invention, a generic motional control synchronization framework is provided, which incorporates a uniform control framework. Specifically, the generic synchronization framework is based on an adaptive control strategy. By operation of the generic synchronization framework of the present invention, free choices of synchronization strategies are allowed without a need to implement modifications to the control framework per se. In accordance with the present invention, synchronization selections are converted into numerical parameters (such as specified quantities or constraints related to the multiple dynamic systems) that define a numerically searchable parameter matrix thereby enabling systematic development, automated processes, and dynamic performance optimization.

In motion synchronization control, the designer's objectives are: 1) to achieve the asymptotic convergence of tracking and synchronization errors simultaneously; 2) to achieve the above object under acceptable control efforts; and 3) to reach the best transient performance possible. The present invention ensures the objective 1) by providing the generic control framework of the present invention combined with the adaptive control strategy. Accordingly, the generic control framework provides a feasible space defined by the parameter matrix in which each member of such parameter matrix is a feasible solution, thereby permitting simultaneous convergence to be achieved. Furthermore, objectives 2) and 3) can be accomplished by searching the feasible space for better (or optimal) solution, using numerical optimization methods that are known. The operation of the present invention is demonstrated in motion synchronization among multiple flying vehicles, however, the present invention is operable for many other coordinated systems applications.

According to another aspect of the present invention, in the case where there exist physical constraints of the synchronization choices, for example, due to space limit or signal availability, one can simply choose the parameter matrix under the uniform framework with specified quantities and constraints. One can still improve the design, by performing a constrained optimization process.

In another aspect of the present invention, a motion control synchronization system is provided that is operable to synchronize motions among multiple dynamic systems in performing coordinated dynamic systems based on the generic motion control synchronization framework of the present invention.

In yet another aspect of the present invention a motion control synchronization computer program is provided that is operable to provide the generic motion control synchronization framework of the present invention.

The generic motion control synchronization framework of the present invention, which enables a synchronized control strategy, has many potential applications, including but not limited to the aerospace (formation flying of unmanned aerial vehicles and satellites), automobile (coordinated control of intelligent cars) and manufacturing (multi-axis control) industries.

A method for synchronizing motion for at least two dynamic systems comprising: providing a generic motion control synchronization framework, the generic synchronization framework defining a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems; populating the generic synchronization framework with the synchronization parameters; and determining a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems

A system for synchronizing motion between at least two dynamic systems, the system comprising: a computer device; and a computer program linked to the computer device, computer device and computer program being operable to: define a generic motion control synchronization framework, the generic synchronization framework being operable to establish a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems; populate the generic synchronization framework with the synchronization parameters; and determine a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems.

A computer program product for use on a computer device for synchronizing motion for at least two dynamic systems, the computer program product comprising: a computer usable medium; and computer readable program code recorded or storable in the computer useable medium, the computer readable program code defining a control application on the computer device that is operable to: define a generic motion control synchronization framework, the generic synchronization framework being operable to establish a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems; populate the generic synchronization framework with the synchronization parameters; and determine a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems.

A method for synchronizing motion between at least two dynamic systems, comprising the steps of: developing a dynamic model of the dynamic systems; obtaining estimates for selected synchronization parameters related to the motion of the dynamic systems, by operation of the dynamic model; populating a generic motion control synchronization framework with the synchronization parameters, the generic synchronization framework defining a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of the synchronization parameters related to the motion of the at least two dynamic systems; calculating selected synchronization errors based on the desired states and the actual states for the dynamic systems; and converting the selected synchronization errors are converted into the parameter matrix and adaptively applying synchronization strategies to the parameter matrix and solving the parameter matrix so as to obtain a solution to the selected synchronization errors.

BRIEF DESCRIPTION OF THE DRAWINGS

A detailed description of the preferred embodiment(s) is (are) provided herein below by way of example only and with reference to the following drawings, in which:

FIG. 1 is a flowchart illustrating a synchronization method in accordance with the present invention.

FIG. 2 is a system block diagram illustrating a representative system implementation of the present invention.

In the drawings, preferred embodiments of the invention are illustrated by way of example. It is to be expressly understood that the description and drawings are only for the purpose of illustration and as an aid to understanding, and are not intended as a definition of the limits of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is best understood by first referring to the dynamics of a dynamic system such as a motion system. These are illustrated with n components in the matrix format:

${{\underset{\_}{H}\overset{¨}{\underset{\_}{x}}} + {\underset{\_}{C}\overset{.}{\underset{\_}{x}}} + {\underset{\_}{F}\left( {\underset{\_}{x},\overset{.}{\underset{\_}{x}}} \right)}} = {{\underset{\_}{Y\;}\underset{\_}{\theta}} - \underset{\_}{\tau}}$ Where ${\underset{\_}{H} = \begin{bmatrix} H_{1} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & H_{n} \end{bmatrix}},{C = \begin{bmatrix} C_{1} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & C_{n} \end{bmatrix}},{\underset{\_}{F} = \begin{bmatrix} F_{1} \\ \vdots \\ F_{n} \end{bmatrix}},{\underset{\_}{\theta} = \begin{bmatrix} \theta_{1} \\ \vdots \\ \theta_{n} \end{bmatrix}},{\underset{\_}{x} = \begin{bmatrix} x_{1} \\ \vdots \\ x_{n} \end{bmatrix}},{\underset{\_}{\tau} = \begin{bmatrix} \tau_{1} \\ \vdots \\ \tau_{n} \end{bmatrix}},{\underset{\_}{Y} = {\begin{bmatrix} Y_{1} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & Y_{n} \end{bmatrix}.}}$

For each ith component, Hi and Ci represent the inertia and centrifugal and Coriolis matrix respectively, and {dot over (H)}_(i)−2C_(i) is skew-symmetric; Fi represents the external disturbance. Without loss of generality, the dynamics equations of each axis can be reformulated as Y_(i)θ_(i)=τ_(i), where Yi is the regression matrix; θi represents the unknown parameters; and τi represents the torque that are to be designed for control.

As previously stated, the prior art approach to synchronization of motion control is (1) to select a strategy for defining a synchronization error between a plurality of dynamic systems identified for performance of coordinated dynamic tasks; (2) establishing the calculations corresponding to the applicable synchronization errors; and (3) implementing these calculations to the applicable motion control synchronization system. In accordance with prior art solutions, this implementation generally required customized implementation of the control system, i.e. modification of the controller which is time-consuming and expensive. Furthermore, it is often difficult to predict which synchronization strategy is better suited for a specific application.

The present invention overcomes limitations of prior art by providing a generic motion control synchronization framework, which incorporates a uniform control framework. Specifically, the generic synchronization framework is based on an adaptive control strategy. By operation of the generic synchronization framework of the present invention, free choices of synchronization strategies are allowed without a need to implement modifications to the control framework per se. In accordance with the present invention, synchronization selections are converted into numerical parameters (such as specified quantities or constraints related to the multiple dynamic systems) that define a numerically searchable parameter matrix. The parameter matrix includes choices of synchronization and their quantitative values, thereby enabling systematic development, automated processes, and dynamic performance optimization. The generic synchronization framework permits control strategy modifications without changing the overall architecture.

The present invention is best understood by describing the application of the method of the present invention to synchronization errors.

Typically, synchronizations error seeks the differences among the tracking errors of the multiple dynamic systems. For example, one can choose the synchronization errors as the error differences between the downstream pair of adjacent components, as shown in the following equation:

$\begin{matrix} {\varepsilon_{1} = {e_{1} - e_{2}}} \\ {\varepsilon_{2} = {e_{2} - e_{3}}} \\ \vdots \\ {\varepsilon_{i} = {e_{i} - e_{i + 1}}} \\ \vdots \\ {\varepsilon_{n - 1} = {e_{n - 1} - e_{n}}} \\ {\varepsilon_{n} = {e_{n} - e_{1}}} \end{matrix}$

Or one may choose a difference strategy in synchronization error, such as the following one, where the synchronization errors are defined as the error differences among the adjacent components in both directions (upstream and downstream):

$\begin{matrix} {\varepsilon_{1} = {{2e_{1}} - \left( {e_{2} + e_{n}} \right)}} \\ {\varepsilon_{2} = {{2e_{2}} - \left( {e_{3} + e_{1}} \right)}} \\ \vdots \\ {\varepsilon_{i} = {{2e_{i}} - \left( {e_{i + 1} + e_{i - 1}} \right)}} \\ \vdots \\ {\varepsilon_{n - 1} = {{2e_{n - 1}} - \left( {e_{n} + e_{n - 2}} \right)}} \\ {\varepsilon_{n} = {{2e_{n}} - \left( {e_{1} + e_{n - 1}} \right)}} \end{matrix}$

The generic synchronization framework is illustrated in connection with the definition of a generic synchronization error, which is given by

${\begin{bmatrix} \varepsilon_{1} \\ \vdots \\ \varepsilon_{n} \end{bmatrix} = {\begin{bmatrix} \Lambda_{11} & \cdots & \Lambda_{1n} \\ \vdots & ⋰ & \vdots \\ \Lambda_{n\; 1} & \cdots & \Lambda_{nn} \end{bmatrix}\begin{bmatrix} e_{1} \\ \vdots \\ e_{n} \end{bmatrix}}},{or},{\underset{\_}{\varepsilon} = {\underset{\_}{T}\underset{\_}{e}}}$

To demonstrate the generality of this framework, the previous examples of synchronization error definitions can be re-written as special cases in the similar format as follows:

$\begin{bmatrix} \varepsilon_{1} \\ \varepsilon_{2} \\ \vdots \\ \varepsilon_{n - 1} \\ \varepsilon_{n} \end{bmatrix} = {{{\begin{bmatrix} I & {- I} & \; & \; & \; \\ \; & I & {- I} & \; & \; \\ \; & \; & ⋰ & ⋰ & \; \\ \; & \; & \; & I & {- I} \\ {- I} & \; & \; & \; & I \end{bmatrix}\begin{bmatrix} e_{1} \\ e_{2} \\ \vdots \\ e_{n - 1} \\ e_{n} \end{bmatrix}}\begin{bmatrix} \varepsilon_{1} \\ \varepsilon_{2} \\ \vdots \\ \varepsilon_{n - 1} \\ \varepsilon_{n} \end{bmatrix}} = {\begin{bmatrix} {2I} & {- I} & \; & \; & {- I} \\ {- I} & {2I} & {- I} & \; & \; \\ \; & ⋰ & ⋰ & ⋰ & \; \\ \; & \; & {- I} & {2I} & {- I} \\ {- I} & \; & \; & {- I} & {2I} \end{bmatrix}\begin{bmatrix} e_{1} \\ e_{2} \\ \vdots \\ e_{n - 1} \\ e_{n} \end{bmatrix}}}$

Obviously the generic framework offers more freedom of choices. It is important to understand that parameter matrix T is numerically searchable, thereby making it possible to improve or optimize performance, as well as setting constraints due to physical limitations of one specific application.

In addition, a standard format is preferably defined for control strategy elements such as control inputs. For example, in a particular embodiment of the present invention, the control input has the following standard format

$\underset{\_}{\tau} = {{{\underset{\_}{\hat{H}}\overset{.}{\underset{\_}{u}}} + {\underset{\_}{\hat{C}}\underset{\_}{u}} + \underset{\_}{\hat{F}} + {\underset{\_}{R}\;\underset{\_}{r}} + {\underset{\_}{E}\underset{\_}{ɛ}}} = {{\underset{\_}{Y}\;\hat{\underset{\_}{\theta}}} + {\underset{\_}{R\;}\underset{\_}{r}} + {\underset{\_}{E}\;\underset{\_}{ɛ}}}}$ thereby providing stability and simultaneous convergence.

FIG. 1 generally illustrates the motion control synchronization method of the present invention. The generic synchronization strategy or application of the generic motion control synchronization framework is represented by 210. In this example, all agents (each agent being a dynamic system—four agents A1, A2, A3 and A4 are provided in the Figure for illustration purposes) have their input/output interfaces connected to a centralized box. Specific inter-connections within this box give information regarding synchronization choices among the agents. Such inter-connections can be represented by a numerical parameter matrix T, as shown in 220. The element of this matrix, denoted by Tij at 220, demonstrates the synchronization errors chosen for the ith agent relative to the jth agent. The numerical value of the element Tij gives quantitative information for the synchronization. For example, the number 0 means no connection at all; a non-zero number gives how strong the signal should be used; its direction is determined by the number's sign. Once the parameter matrix T is identified, the design focus is then placed upon finding solutions of T. Since each choice of T changes the values of the elements without structure modification, a generic control synchronization method can be deployed to ensure the stability and convergence, as shown in 230. The performance evaluation (240) and improvement (250) can be both handled by searching in the parameter space T (routines 260 and 270, respectively). Due to the numerical nature of matrix T, the search routine can be automated and optimized using numerical computational programs, in a manner that is known.

According to one aspect of the present invention, a uniform control framework is provided with a generic synchronization framework. The selections of synchronization errors are converted into a parameter matrix space (210), integrating the synchronization strategy decision-making with detailed choices, as compared to separate efforts as taught by the prior art.

According to another aspect of the present invention, a generic control synchronization method is provided (230), resulting from the novel concept of separating synchronization strategy from control implementation. In the prior art, the control method is customized depending on the specific synchronization choice. As a result, the control implementation relies on the synchronization decision-making. Once the synchronization strategy changes, the implementation requires modification accordingly. This is an expensive and time-consuming practice. Conversely, the generic control synchronization method provided herein is developed based on uniform synchronization matrix T. Changes in values of T do not affect the control structure. Therefore, the implementation modification is not required, or minimal and affordable.

According to another aspect of the present invention, the synchronization choices are converted into a numerically searchable matrix T (220). Systematic development, an automated process, and performance optimization are enabled (260, 270). The prior art, on the other hand, shows ad hoc selection of synchronization strategy, challenges in implementation modification, and trial-and-error evaluation of dynamic performance. Under this framework, it may not be entirely clear which strategy works better, until it has been implemented and tested. Instead, the present invention (220) allows for free choices of strategy and these choices can be made systematically through searching the feasible solutions in the parameter space T.

The system of the present invention is best understood as a motion control synchronization system that is operable to synchronize motions among multiple dynamic systems in performing coordinated dynamic systems based on the generic motion control synchronization framework of the present invention.

FIG. 2 is a system block diagram illustrating a representative system implementation of the present invention. It shows the adaptive control structure that provides the regulation and synchronization to the “M-Axis Dynamics” which represents the dynamic systems of multiple agents. The generic synchronization is given by the block T. It demonstrates that free choices of synchronization strategies are allowed without a need to implement modifications to the control framework per se.

The computer program of the present invention is best understood as control application operable to provide the generic motion control synchronization framework of the present invention, programmed in a manner known those skilled in the art. The features of the general framework can either be implemented as a generic application that interoperates with control applications associated with dynamic system; or the generic framework can be implemented in the control applications themselves. One advantage of the present invention is that synchronization of different dynamic systems having different control applications may be achieved using the generic application as an intermediary without the need for extensive integration of the different dynamic systems and/or their respective control applications.

In one particular embodiment of the present invention, a computer program executes the following step-wise algorithm to provide a generic control framework:

1. Develop the dynamic model of n agents to be synchronized H{umlaut over (x)}+C{dot over (x)}+F ( x,{dot over (x)} )= Yθ=τ; 2. Obtain the estimates Ĥ, Ĉ, {circumflex over (F)} of H, C, F, respectively; 3. Choose R and E such that

$\underset{\_}{R} = \begin{bmatrix} K_{R_{1}} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & K_{R_{n}} \end{bmatrix}$ $\underset{\_}{E} = \begin{bmatrix} K_{\varepsilon} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & K_{\varepsilon} \end{bmatrix}$

-   -   K_(R) _(i) , K_(ε) are positive definite diagonal gain matrices.         4. Calculate errors: e=x ^(d)−x based on the desired states x         ^(d) and actual states x;         5. Find the generic synchronization error ε=Te;         6. Define the total feedback generalized velocity and position         error as:         r=ė+αe+β(ε+αξ)     -   where α, β>0, ε=T ^(T) ε, ξ=∫₀ ^(t) ε(w)dw and the command         signal is defined as         u=r+{dot over (x)}={dot over (x)} ^(d) +αe+β(ε+αξ)         7. The estimated parameter vector is subject to the adaptation         law,

$\overset{.}{\hat{\underset{\_}{\theta}}} = {\underset{\_}{\Gamma}\;{\underset{\_}{Y}}^{T}\underset{\_}{\tau}}$ where $\underset{\_}{\Gamma} = \begin{bmatrix} \Gamma_{1} & \; & \; \\ \; & ⋰ & \; \\ \; & \; & \Gamma_{n} \end{bmatrix}$

-   -   and Γ_(i) is a positive diagonal matrix; and         8. Choose the torque input as:         τ= Ĥ{dot over (u)}+Ĉu+{circumflex over (F)}+Rr+Eε=Y{circumflex         over (θ)}+Rr+Eε

Synchronized motion control, especially with multiple dynamic systems being involved (different communication protocols, different control techniques, etc.), can result in numerous problems. One distinct problem is the “integration” of these multiple systems. The synchronization of motion control inherently requires adjustment of parameters to accommodate, for example, a change in conditions. Using prior art solutions, with multiple systems, the calculation of the adjusted parameters is either be too time consuming, prone to errors, or both.

Another aspect is that synchronization also requires inherently changes to be made dynamically, in which case a decrease in processing time is critical. The present invention permits adjustments to be made where processing time and processing resources required are desirable in comparison to the prior art solutions. This allows synchronization of motion control to be extended to numerous applications where they are not currently feasible.

In this regard, the essence is that the generic framework of the present invention works with the signals themselves that drive control commands (say, for example, in a navigation system). The generic framework, and the control framework within that, allows necessary adjustments to be calculated, for example, on the fly, quickly and efficiently.

It should be expressly understood that the invention applies to all dynamic systems, with the synchronization of vehicles as only one particular implementation. For example, the present invention applies to robots in the manufacturing industry. In essence, the present invention is directed to a plurality of dynamic systems that can communicate with one another for some joint purpose that is served by synchronized motion control.

It should also be noted that the present invention contemplates either ground and air vehicles, or both, where synchronization is achieved between the two. For example, present invention can be applied in situations where it is desired to maintain an aircraft flight pattern relative to a ground vehicle. This configuration may be ideal for specific geophysical exploration applications.

Further, it should be understood that a computer program for carrying out the calculations required for the method of the present invention can be implemented in a standard personal computer, or alternatively in a computer appliance specifically tailored for motion control applications.

In motion synchronization control, the designer's objectives are: 1) to achieve the asymptotic convergence of tracking and synchronization errors simultaneously, 2) to achieve the above object under acceptable control efforts; and 3) to reach the best transient performance possible. The present invention ensures the objective 1) by providing a uniform framework combined with an adaptive control strategy. In other words, it provides a feasible space that each member of the parameter matrix is a feasible solution, i.e., to achieve simultaneous convergence. Furthermore, objectives 2) and 3) can be achieved by adopting the framework presented in this invention, to search the feasible space for better (or optimal) solution, using numerical optimization methods available.

The present invention comprises a number of advantages over the existing approaches to ensure proper synchronization, coordination, or cooperation among multi-composes systems, including: (i) the asymptotic convergence of tracking and synchronization errors can be achieved simultaneously; (ii) synchronization can be achieved under reasonable control efforts; (iii) synchronization can be guaranteed under a uniform framework, i.e. motion synchronization is reached no matter what the specific synchronization choices are. Further, (iii) leads to a further advantage, namely that transient performance can be improved with proper choices of synchronization errors.

Example 1

The present invention was implemented in relation to the attitude angular velocity tracking control of multiple Unmanned Aerial Vehicles (“UAVs”) [11]. The result was global asymptotic convergence of both the attitude angular velocity tracking and the angular velocity synchronization, even in the presence of system parameter uncertainties. Simulation results of multiple UAVs in coordination verify the effectiveness of the approach.

Please note that all reference to equation numbers, indicated by round brackets ( ), pertain only to this example.

1. Attitude Dynamics of UAV

From the traditional nonlinear aircraft model, the following attitude dynamics apply for UAVs J _(xx) {dot over (P)}−J _(xz) {dot over (R)}+(J _(zz) −J _(yy))QR−J _(xz) PQ=L  (1) J _(yy) {dot over (Q)}+(J _(xx) −J _(zz))PR+J _(xz)(P ² −R ²)=M  (2) J _(zz) {dot over (R)}−J _(xz) {dot over (P)}+(J _(yy) −J _(xx))PQ+J _(xz) QR=N  (3) where J ε

^(3×3) is a positive-definite moment of inertia matrix, J_(xx), J_(yy), J_(zz) and J_(xz) are the corresponding elements, the applied moment Mε

³

[L, M, N]^(T), Ωε

³

[P, Q, R]^(T) is the attitude rate vector and P, Q, R are the roll, pitch, yaw rate, respectively.

The aim is to design a controller for attitude angular velocity tracking and angular velocity tracking synchronization between all UAVs. First, we introduce a pseudo attitude angle vector Θε

³

[θ_(P), θ_(Q), θ_(R)]^(T) and θ_(P)=∫P, θ_(Q)=∫Q, θ_(R)=∫R. The pseudo attitude angle vector Θ is different from the classical Euler angle [φ θ ψ]^(T) and is introduced only for controller design purpose.

Thus, the following augmented equations of attitude dynamics is obtained J _(xx){umlaut over (θ)}_(P) −J _(xz){umlaut over (θ)}_(R)+(J _(zz) −J _(yy))QR−J _(xz) PQ=L  (4) J _(yy){umlaut over (θ)}_(Q)+(J _(xx) −J _(zz))PR+J _(xz)(P ² −R ²)=M  (5) J _(zz){umlaut over (θ)}_(R) −J _(xz){umlaut over (θ)}_(P)+(J _(yy) −J _(xx))PQ+J _(xz) QR=N  (6) or in matrix format J

+N({dot over (Θ)},J)=M  (7) where the nonlinear term N(·) ε

³ is

$\begin{matrix} {{N\left( {\overset{.}{\Theta},J} \right)} = \begin{bmatrix} {{\left( {J_{zz} - J_{yy}} \right){QR}} - {J_{xz}{PQ}}} \\ {{\left( {J_{xx} - J_{zz}} \right){PR}} + {J_{xx}\left( {P^{2} - R^{2}} \right)}} \\ {{\left( {J_{yy} - J_{xx}} \right){PQ}} + {J_{xz}{QR}}} \end{bmatrix}} & (8) \end{matrix}$

If n similar UAVs are considered, we have the following n attitude dynamics equations

$\begin{matrix} {{{J_{1}{\overset{¨}{\Theta}}_{1}} + {N_{1}\left( {\Omega_{1},J_{1}} \right)}} = M_{1}} \\ {{{J_{2}{\overset{¨}{\Theta}}_{2}} + {N_{2}\left( {\Omega_{2},J_{2}} \right)}} = M_{2}} \\ \vdots \\ {{{J_{i}{\overset{¨}{\Theta}}_{i}} + {N_{i}\left( {\Omega_{i},J_{i}} \right)}} = M_{i}} \\ \vdots \\ {{{J_{n}{\overset{¨}{\Theta}}_{n}} + {N_{n}\left( {\Omega_{n},J_{n}} \right)}} = M_{n}} \end{matrix}$ where subscript i denotes the i-th UAV.

Writing these n attitude dynamic equations in a matrix format, we have I{umlaut over (Θ)}+ N (Ω,I)= M   (9) where Θε

^(3n), Nε

^(3n), Mε

^(3n) are vectors, Iε

^(3n×3n) is a diagonal matrix, and they are of the following expressions

$I = {{diag}\begin{bmatrix} J_{1} & J_{2} & \cdots & J_{i} & \cdots & J_{n} \end{bmatrix}}^{T}$ $\Theta = \begin{bmatrix} \Theta_{1} & \Theta_{2} & \cdots & \Theta_{i} & \cdots & \Theta_{n} \end{bmatrix}^{T}$ $\overset{\_}{N} = \begin{bmatrix} N_{1} & N_{2} & \cdots & N_{i} & \cdots & N_{n} \end{bmatrix}^{T}$ $\begin{matrix} {\overset{\_}{M} = \begin{bmatrix} M_{1} & M_{2} & \cdots & M_{i} & \cdots & M_{n} \end{bmatrix}^{T}} \\ {= \begin{bmatrix} L_{1} & M_{1} & N_{1} & L_{2} & M_{2} & N_{2} & \cdots & L_{i} & M_{i} & N_{i} & \cdots & L_{n} & M_{n} & N_{n} \end{bmatrix}^{T}} \end{matrix}$ 2. Controller Design 2.1. Control Objective

First, we define E(t)ε

^(3n) as the attitude angular velocity tracking error vector of n UAVs, Ξ(t)ε

^(3n) as the angular velocity synchronization error vector. They have the following expressions

$\begin{matrix} {{E(t)}\overset{\Delta}{=}\begin{bmatrix} {e_{1}(t)} & {e_{2}(t)} & \cdots & {e_{i}(t)} & \cdots & {e_{n}(t)} \end{bmatrix}^{T}} & (10) \\ {{\Xi(t)}\overset{\Delta}{=}\begin{bmatrix} {ɛ_{1}(t)} & {ɛ_{2}(t)} & \cdots & {ɛ_{i}(t)} & \cdots & {ɛ_{n}(t)} \end{bmatrix}^{T}} & (11) \\ {{e_{i}(t)}\overset{\Delta}{=}{{\Omega_{d}(t)} - {\Omega_{i}(t)}}} & (12) \\ {{\int{e_{i}(t)}}\overset{\Delta}{=}{{\Theta_{d}(t)} - {\Theta_{i}(t)}}} & (13) \end{matrix}$ where Ω_(d)ε

³ is the desired attitude angular velocity trajectory. The details on synchronization error will be discussed below.

For synchronized attitude angular velocity tracking of multiple UAVs, first of all, the designed controller should guarantee the stability of the attitude angular velocity tracking errors of all involved systems. Secondly, the controller should also guarantee the stability of the angular velocity synchronization errors. Thirdly, the controller should regulate the attitude angular velocity motions to track the desired trajectory at the same rate so that the corresponding synchronization errors go to zero simultaneously.

Thus, the control objective becomes: E(t)→0 and Ξ(t)→0 as t→∞.

Without loss of generality, we reformat the attitude dynamic equations in Eq. (11) as follows IΦ+ N (Ω,I)= Y (Φ,Ω)Ψ= M   (14) where Y_(i)ε

^(3×4) is the regression matrix and is composed of known variables, Ψ_(i)ε

⁴ is a constant parameter vector, Φ_(i)ε

³ is a dummy variable vector and will be defined later, Ψε

^(4n), Yε

^(3n×4n). In practice, there exist uncertainties in the system parameters, such as the moments of inertia. We define {circumflex over (Ψ)} as the estimation of Ψ. Moreover, the following expressions can be obtained

$\begin{matrix} {{{\Psi = \begin{bmatrix} \Psi_{1} & \Psi_{2} & \cdots & \Psi_{i} & \cdots & \Psi_{n} \end{bmatrix}^{T}}\Psi_{i} = \begin{bmatrix} J_{xxi} & J_{yyi} & J_{zzi} & J_{xzi} \end{bmatrix}^{T}}{\Phi = \begin{bmatrix} \Phi_{1} & \Phi_{2} & \cdots & \Phi_{i} & \cdots & \Phi_{n} \end{bmatrix}^{T}}{\Phi = {{\begin{bmatrix} \Phi_{Pi} & \Phi_{Qi} & \Phi_{Ri} \end{bmatrix}^{T}\Phi_{i}} = {{\begin{bmatrix} \Phi_{Pi} & \Phi_{Qi} & \Phi_{Ri} \end{bmatrix}\overset{\_}{Y}} = {{{{diag}\begin{bmatrix} Y_{1} & Y_{2} & \cdots & Y_{i} & \cdots & Y_{n} \end{bmatrix}}{Y_{i}\left( {\Phi_{i},\Omega_{i}} \right)}} = \begin{bmatrix} \Phi_{Pi} & {{- Q_{i}}R_{i}} & {Q_{i}R_{i}} & {- \left( {\Phi_{Ri} + {P_{i}Q_{i}}} \right)} \\ {P_{i}R_{i}} & \Phi_{Qi} & {{- P_{i}}R_{i}} & {P_{i}^{2} - {R_{i}^{2}\text{)}}} \\ {{- P_{i}}Q_{i}} & {P_{i}Q_{i}} & \Phi_{Ri} & {{Q_{i}R_{i}} - \Phi_{Pi}} \end{bmatrix}}}}}} & (15) \end{matrix}$ 2.2. Synchronization Error

Synchronization error is used to identify the performance of synchronization controller, i.e. how the trajectory of each UAV converges with respect to each other. There are various ways to choose the synchronization error. In general, the attitude angular velocity synchronization error

(t) can be formulated as the following generalized expression Ξ(t)=TE(t)  (16) where Ξ(t) is a linear combination of attitude angular velocity tracking error E(t), Tε

^(3n×3n) is the generalized synchronization transformation matrix.

If we choose the following synchronization transformation matrix

$\begin{matrix} {T = \begin{bmatrix} {2I} & {- I} & \; & \; & {- I} \\ {- I} & {2I} & {- I} & \; & \; \\ \; & ⋰ & ⋰ & ⋰ & \; \\ \; & \; & {- I} & {2I} & {- I} \\ {- I} & \; & \; & {- I} & {2I} \end{bmatrix}} & (17) \end{matrix}$ we can get the corresponding attitude angular velocity synchronization error

$\begin{matrix} \begin{matrix} {{ɛ_{1}(t)} = {{2{e_{1}(t)}} - {e_{2}(t)} - {e_{n}(t)}}} \\ {{ɛ_{2}(t)} = {{2{e_{2}(t)}} - {e_{3}(t)} - {e_{1}(t)}}} \\ {{ɛ_{3}(t)} = {{2{e_{3}(t)}} - {e_{4}(t)} - {e_{2}(t)}}} \\ \vdots \\ {{ɛ_{n}(t)} = {{2{e_{n}(t)}} - {e_{n - 1}(t)} - {e_{1}(t)}}} \end{matrix} & (18) \end{matrix}$

In a similar way, other kinds of synchronization errors can be formed. It can be seen from Eq. (18) that each individual UAV's synchronization error is a linear combination of its tracking error and two adjoining UAVs' tracking errors.

2.3. Adaptive Synchronization Controller

According to the control objective discussed previously, the designed control moment M(t) should guarantee convergences of both the attitude angular velocity tracking error E(t) and the angular velocity synchronization error Ξ(t) simultaneously, and realize expected transient characteristic of attitude angular velocity tracking motion.

To realize motion synchronization between all UAVs, we may include all synchronization errors related to a certain axis into this axis's controller for each UAV. However, this method can only be feasible when the UAVs number n is small. If n is extremely large, including all synchronization errors into each controller will lead to intensive on-line computational work. Thus, in this section, we try to design controller for each axis to stabilize its attitude angular velocity tracking motion and synchronize its motion with several adjacent attitude axes.

First, the coupled attitude angular velocity error E*(t) that contains both the attitude angular velocity tracking error E(t) and a linear combination of the angular velocity synchronization error Ξ(t) is introduced E*(t)=E(t)+BT ^(T)∫Ξ(t)  (19) where B

diag[B₁ B₂ . . . B_(n)] is a positive coupling gain matrix, E*

diag[e₁*e₂* . . . e_(n)*] and its expanded expression is

$\begin{matrix} \begin{matrix} {{e_{1}^{*}(t)} = {{e_{1}(t)} + {B_{1}{\int\left\lbrack {{2\;{ɛ_{1}(\tau)}} - {ɛ_{2}(\tau)} - {ɛ_{n}(\tau)}} \right\rbrack}}}} \\ {{e_{2}^{*}(t)} = {{e_{2}(t)} + {B_{2}{\int\left\lbrack {{2\;{ɛ_{2}(\tau)}} - {ɛ_{3}(\tau)} - {ɛ_{1}(\tau)}} \right\rbrack}}}} \\ {{e_{3}^{*}(t)} = {{e_{3}(t)} + {B_{3}{\int\left\lbrack {{2\;{ɛ_{3}(\tau)}} - {ɛ_{4}(\tau)} - {ɛ_{2}(\tau)}} \right\rbrack}}}} \\ \vdots \\ {{e_{n}^{*}(t)} = {{e_{n}(t)} + {B_{n}{\int\left\lbrack {{2\;{ɛ_{n}(\tau)}} - {ɛ_{n - 1}(\tau)} - {ɛ_{1}(\tau)}} \right\rbrack}}}} \end{matrix} & (20) \end{matrix}$

From Eq. (20) we can see that, the synchronization error ε_(i)(t) appears in e_(i−1)* and e_(i+1)* as negative value −ε_(i)(t), while as positive value 2ε_(i)(t) in e_(i)*. In this way, the coupled attitude errors are driven in opposite directions by ε_(i)(t), which contributes to the elimination of the synchronization error ε_(i)(t).

With notation of the coupled attitude angular velocity error E*(t), the coupled filtered tracking error for the ith UAV, r_(i)(t)ε

³, is further defined as r _(i)(t)=e _(i)*(t)+Λ_(i) ∫e _(i)*(t)  (21) where Λ_(i)(t)ε

^(3×3) is a constant, diagonal, positive-definite, control gain matrix. For all n UAVs, the whole coupled filtered tracking error becomes r(t)=E*(t)+Λ∫E*(t)  (22) where r(t)

[r₁(t) r₂(t) . . . r_(n)(t)]^(T), Λε

^(3n×3n)=diag[Λ₁ Λ₂ . . . Λ_(n)].

To account for the uncertainties in system parameters, the controller is designed to contain an adaptation law for on-line estimation of the unknown parameters. The error between the actual and estimated parameters is defined by {tilde over (Ψ)}(t)

Ψ(t)−{circumflex over (Ψ)}(t)  (23) where the parameter estimation error {tilde over (Ψ)}ε

^(4n).

The dummy variable Φ introduced in Eq. (14) has the following expression Φ={umlaut over (Θ)}_(d) +ΛE*+BT ^(T)Ξ  (24)

Based on the dynamics equation (14), the control moment vector M is designed to be M (t)= Y (Φ,Ω){circumflex over (Ψ)}(t)+Kr(t)+K _(s) T ^(T)∫Ξ(t)  (25) where Kε

^(3n×3n) and K_(s)ε

^(3n×3n) are two constant, diagonal, positive-definite, control gain matrices. The estimated parameter {circumflex over (Ψ)} is subject to the adaptation law

$\begin{matrix} {\overset{.}{\hat{\Psi}} = {\Gamma\;{{\overset{\_}{Y}}^{T}( \cdot )}r}} & (26) \end{matrix}$ where

 ε

^(4n×4n) is a constant, diagonal, positive-definite, adaptation gain matrix. By differentiating Eq. (23) with respect to time, the following closed-loop dynamics for the parameter estimation error can be obtained

$\begin{matrix} {\overset{.}{\overset{\sim}{\Psi}} = {{- \Gamma}\;{{\overset{\_}{Y}}^{T}( \cdot )}r}} & (27) \end{matrix}$

Theorem 1. The proposed adaptive synchronization coupling controller Eqs. (25) and (26) guarantees the global asymptotic convergences of both the attitude angular velocity tracking error E(t) and the angular velocity synchronization error Ξ(t), i.e.,

$\begin{matrix} {{\lim\limits_{t\rightarrow\infty}{E(t)}},{{\Xi(t)} = 0}} & (28) \end{matrix}$

Proof. Considering the following positive definite Lyapunov function

$\begin{matrix} {{V\left( {r,\overset{\sim}{\Psi},\Xi} \right)}\overset{\Delta}{=}{\frac{1}{2}{\quad\left\lbrack {{r^{T}{Ir}} + {{\overset{\sim}{\Psi}}^{T}\Gamma^{- 1}\overset{\sim}{\Psi}} + \left. \quad{{\left( {\int\Xi} \right)^{T}K_{s}{\int\Xi}} + {\left( {\int{\int{T^{T}\Xi}}} \right)^{T}B\;\Lambda\;{K_{s}\left( {\int{\int{T^{T}\Xi}}} \right)}}} \right\rbrack} \right.}}} & (29) \end{matrix}$

Differentiating Eq. (29) with respect to time t yields

$\begin{matrix} {{\overset{.}{V}\left( {r,\overset{\sim}{\Psi},\Xi} \right)} = {{r^{T}I\;\overset{.}{r}} + {{\overset{\sim}{\Psi}}^{T}\Gamma^{- 1}\overset{\overset{.}{\sim}}{\Psi}} + {\quad{{\int{\Xi^{T}K_{s}\Xi}} + {\left( {\int{\int{T^{T}\Xi}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}{\int\Xi}}}}}} & (30) \end{matrix}$

Differentiating Eq. (22) with respect to time t and consider Eqs. (19, 24), we have

$\begin{matrix} \begin{matrix} {\overset{.}{r} = {{{\overset{.}{E}}^{*} + {\Lambda\; E^{*}}} = {\overset{.}{E} + {{BT}^{T}{\int\;\Xi}} + {\Lambda\; E^{*}}}}} \\ {= {{\overset{¨}{\Theta}}_{d} - \overset{¨}{\Theta} + {{BT}^{T}{\int\;\Xi}} + {\Lambda\; E^{*}}}} \\ {= {\Phi - \overset{¨}{\Theta}}} \end{matrix} & (31) \end{matrix}$

Multiplying I at the both sides of Eq. (31), substituting Eqs. (9, 14, 15) into it, we obtain

$\begin{matrix} {{I\;\overset{.}{r}} = {{I\;\Phi} - {I\;\overset{¨}{\Theta}}}} \\ {= {{{\overset{\_}{Y}\left( {\Phi,\Omega} \right)}\Psi} - \overset{\_}{M}}} \\ {= {{{\overset{\_}{Y}\left( {\Phi,\Omega} \right)}\overset{\sim}{\Psi}} - {Kr} - {K_{s}T^{T}{\int\Xi}}}} \end{matrix}$

Substituting Eqs. (27, 32) into Eq. (30) yields

$\begin{matrix} \begin{matrix} {{\overset{.}{V}\left( {r,\overset{\sim}{\Psi},\Xi} \right)} = {{r^{T}I\;\overset{.}{r}} + {{\overset{\sim}{\Psi}}^{T}\Gamma^{- 1}\overset{\overset{.}{\sim}}{\Psi}} + {\int\;{\Xi^{T}K_{s}\Xi}} +}} \\ {\left( {\int{\int{T^{T}\Xi}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}{\int\Xi}} \\ {= {{r^{T}\left\lbrack {{{\overset{\_}{Y}\left( {\Phi,\Omega} \right)}\overset{\sim}{\Psi}} - {Kr} - {K_{s}T^{T}{\int\;\Xi}}} \right\rbrack} +}} \\ {{{\overset{\sim}{\Psi}}^{T}{\Gamma^{- 1}\left\lbrack {{- \Gamma}\;{{\overset{\_}{Y}}^{T}( \cdot )}r} \right\rbrack}} + {\int\;{\Xi^{T}K_{s}\Xi}} +} \\ {\left( {\int{\int{T^{T}\;\Xi}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}{\int\;\Xi}} \\ {= {{{- r^{T}}{Kr}} - {r^{T}K_{s}T^{T}{\int\;\Xi}} + {\int\;{\Xi^{T}K_{s}\Xi}} +}} \\ {\left( {\int{\int{T^{T}\;\Xi}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}{\int\;\Xi}} \end{matrix} & (33) \end{matrix}$

Replacing r in the second term of Eq. (33) with Eqs. (19, 22), we have

$\begin{matrix} {{\overset{.}{V}( \cdot )} = {{- \left\lbrack {E + {{BT}^{T}{\int\;\Xi}} + {\Lambda\;{\int\; E}} + {B\;\Lambda\; T^{T}{\int{\int\;\Xi}}}} \right\rbrack^{T}} \cdot}} \\ {K,{{T^{T}{\int\;\Xi}} - {r^{T}{Kr}} + {\int\;{\Xi^{T}K_{s}\;\Xi}} +}} \\ {\left( {\int{\int{T^{T}\;\Xi}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}{\int\;\Xi}} \\ {= {{{- r^{T}}{Kr}} - {\int{\left( {T^{T}\;\Xi} \right)^{T}{BK}_{s}T^{T}{\int\;\Xi}}} -}} \\ {\int\;{\Xi^{T}\Lambda\; K_{s}{\int\;\Xi}}} \end{matrix}$

Because K, BK_(s), and ΛK_(s) are all positive-definite matrices, so we can conclude that

$\begin{matrix} {{\overset{.}{V}( \cdot )} = {{{{- r^{T}}{Kr}} - {\int{\left( {T^{T}\;\Xi} \right)^{T}{BK}_{s}{\int\left( {T^{T}\;\Xi} \right)}}} - {\int\;{\Xi^{T}\;\Lambda\; K_{s}{\int\;\Xi}}}} \leq 0}} & (34) \end{matrix}$

Since {dot over (V)}(r, {tilde over (Ψ)}, Ξ)≦0 in Eq. (34), the V(r, {tilde over (Ψ)}, Ξ) given in Eq. (29) is either decreasing or constant. Due to the fact that V(r, {tilde over (Ψ)}, Ξ) is non-negative, we conclude that V(r, {tilde over (Ψ)}, Ξ)εL_(∞); hence rεL_(∞) and {tilde over (Ψ)}εL_(∞). With rεL_(∞), we conclude from Eq. (22) that E*(t)εL_(∞) and ∫E*(t)εL_(∞), and ∫E(t), E(t), ∫Ξ(t), ΞεL_(∞) based on the definition in Eq. (19). Because of the boundedness of Θ_(d)(t) and Ω_(d)(t), we conclude that Θ(t)εL_(∞) and Ω(t)εL_(∞) from Eq. (13). Taking {tilde over (Ψ)}εL_(∞) and Ψ a constant vector, {circumflex over (Ψ)}εL_(∞) is obtained from Eq. (23). With the previous boundedness statements and the fact that {umlaut over (Θ)}_(d)(t) is also bounded, the dummy variable ΦεL_(∞) and Y(·) εL_(∞) can be concluded from their definitions in Eq. (24) and Eq. (15). Hence, the control input MεL_(∞) is also determined from Eq. (25). The preceding information can also be used to Eq. (9) and Eq. (31) to get {umlaut over (Θ)}(t), {dot over (r)}(t)εL_(∞). Until now, we have explicitly illustrated that all signals in the adaptive synchronization controller and system remain bounded during the closed-loop operation.

From Eq. (34), we show that rεL₂, T^(T)∫Ξ(t)εL₂ and Error! Objects cannot be created from editing field codes. Hence, ∫E*(t)εL₂ and E*(t)εL₂ can be concluded from Eq. (22). From Eq. (19), we conclude E(t)εL₂ since T^(T)∫Ξ(t)εL₂ and E*(t)εL₂. Moreover, we have ∫E(t)εL₂ because of Error! Objects cannot be created from editing field codes. When {umlaut over (Θ)}(t)εL_(∞) and {umlaut over (Θ)}_(d)(t) is bounded, Ė(t)εL_(∞) can be concluded. Considering E(t)εL₂ and Ė(t)εL_(∞), we can conclude that ΞεL₂ and {dot over (Ξ)}εL_(∞). Thus, a known corollary can be applied to conclude that

${\lim\limits_{t - \infty}{E(t)}} = {{0\mspace{31mu}{\lim\limits_{t - \infty}\;{\Xi\;(t)}}} = 0}$ 3. Simulation

To illustrate this example, the cooperative motion of four UAVs is examined. The UAVs are chosen as Hanger 9 J-3 Piper Cub like UAV. The parameters, moments of inertia, given in Table 1 are modified according to known values. These four UAVs are required to track the following three-axis attitude angular rate profiles. P _(d)(t)=0.5π cos(0.1πt) Q _(d)(t)=0.4π cos(0.1πt) R _(d)(t)=0.3π cos(0.1πt)  (35)

The control and adaptation gains are also given in Table 1.

TABLE 1 System parameters and control gains of multiple UAVs. Symbol Value Ψ_(i) Ψ₁ = [1.6, 2.37, 2.5, 0.55], Ψ₂ = [3.0, 6.7, 9.0, 0.7] Ψ₃ = [1.2, 1.6, 2.3, 0.3], Ψ₄ = [4.74, 6.03, 9.8, 0.8] {circumflex over (Ψ)}_(i)(0) 0.8Ψ₁, 0.9Ψ₂, 1.1Ψ₃, 1.2Ψ₄ K_(i) K₁ = diag[25, 25, 25], K₂ = diag[30, 30, 30] K₃ = diag[15, 15, 15], K₄ = diag[45, 65, 75] K_(si) K_(s1) = diag[4, 4, 4], K_(s2) = diag[6, 6, 6] K_(s3) = diag[3, 3, 3], K_(s4) = diag[7, 7.5, 8] Λ_(i) Λ₁ = diag[8, 8, 8], Λ₂ = diag[10, 10, 10] Λ₃ = diag[3, 3, 3], Λ₄ = diag[8, 8, 8] Γ_(i) Γ₁ = diag[11, 11, 11, 11] Γ₂ = diag[25, 25, 25, 25] Γ₃ = diag[10, 10, 10, 10] Γ₄ = diag[30, 30, 30, 30] B_(i) diag[10, 10, 10]

For evaluation of control performance, we calculated the 2-norm of the attitude angular velocity tracking error E(t) and the angular velocity synchronization error Ξ(t). The values in Table 2 show that although the attitude angular velocity tracking error E(t)→0 can be realized by using adaptive controller without synchronization strategy, there are significant differences between the attitude angular velocity tracking errors of all involved UAVs. It means that the attitude angular velocity synchronization errors are large and the attitude angular velocity tracking motions are not synchronized well. However, with the proposed synchronization strategy, the synchronization errors can be remarkably reduced. Take the attitude angular velocity tracking motion of z-axis as an example. Without synchronization strategy, the 2-norm of the attitude angular velocity tracking errors and the attitude angular velocity synchronization errors for four UAVs are 21.193, 35.304, 59.490, 14.830 and 35.228, 92.403, 110.478, 51.192 (deg/sec), respectively. With the synchronization strategy, the corresponding 2-norm values are 23.861, 24.191, 27.281, 24.631 and 3.846, 17.047, 21.701, 10.849 (deg/sec), respectively. The 2-norm of the attitude angular velocity tracking errors have been regulated to be very close values. In this way, the synchronization errors are reduced observably.

TABLE 2 Performance evaluation of various control strategies Errors UAV I UAV II UAV III UAV IV No synchronization ||ė_(x)||₂ 49.285 81.439 53.184 42.411 ||ė_(y)||₂ 10.235 30.254 53.054 21.316 ||ė_(z)||₂ 21.193 35.304 59.490 14.830 ||{dot over (ε)}_(x)||₂ 59.009 136.095 97.633 36.513 ||{dot over (ε)}_(y)||₂ 40.887 67.880 98.714 47.949 ||{dot over (ε)}_(z)||₂ 35.228 92.403 110.478 51.192 With synchronization strategy ||ė_(x)||₂ 38.029 34.924 26.767 28.719 ||ė_(y)||₂ 18.197 19.005 17.311 18.523 ||ė_(z)||₂ 23.861 24.191 27.281 24.631 ||{dot over (ε)}_(x)||₂ 42.531 33.950 49.733 22.674 ||{dot over (ε)}_(y)||₂ 12.393 14.557 16.666 13.360 ||{dot over (ε)}_(z)||₂ 3.846 17.047 21.701 10.849

Example 2

In another implementation of the present invention, a synchronized trajectory tracking control strategy was prepared for experimental three-degrees-of-freedom (“3-DOF”) helicopters [13]. This model-based controller included a feedforward dynamic term and used a PD control law as feedback. The convergence was achieved for both trajectory tracking and the motion synchronization. A proposed generalized synchronization concept further improved the transient performance. The numerical simulation results of four helicopters in coordination were determined.

Please note that all reference to equation numbers indicated by round brackets ( ) pertain only to this example.

1. Modeling of 3-DOF Helicopter

For this example, four 3-DOF helicopters (from Quanser Inc., 80 Esna Park Drive, #1, Markham, Ontario, Canada L3R 2R6) are employed having active disturbance systems (ADS), which can emulate uncertainties in system parameters and act as disturbances on control system. The three degrees-of-freedom are elevation, pitch, and travel.

(i) Elevation axis. The elevation motion can be described by the following differential equation:

$\begin{matrix} \begin{matrix} {{J_{e}\overset{¨}{\alpha}} = {{K_{f}l_{a}{\cos(\beta)}\left( {V_{f} + V_{b}} \right)} - {{mgl}_{a}{\sin\left( {\alpha + \alpha_{0}} \right)}}}} \\ {= {{K_{f}l_{a}{\cos(\beta)}V_{s}} - {{mgl}_{a}{\sin\left( {\alpha + \alpha_{0}} \right)}}}} \end{matrix} & (1) \end{matrix}$ where α₀| is the angle between helicopter arm and its base. (ii) Pitch axis. The pitch axis is controlled by the difference of the forces generated by the propellers: J _(p)

=K _(f) l _(h)(V _(f) −V _(b))=K _(f) l _(h) V _(d)  (2)

If the force generated by the front motor is higher than the force generated by the back motor, the helicopter body will pitch up (positive). It should be noted that the pitch angle is limited among

$\left( {{- \frac{\pi^{-}}{2}},\frac{\pi}{2}} \right)$ mechanically during experiment. (iii) Travel axis. The only way to apply a force in the travel direction is to pitch body of the helicopter. The corresponding dynamic equation of travel axis is:

$\begin{matrix} \begin{matrix} {{J_{t}\overset{¨}{\gamma}} = {{K_{f}l_{a}\sin\;\beta\;{\sin\left( {\alpha + \alpha_{0}} \right)}\left( {V_{f} + V_{b}} \right)} +}} \\ {K_{f}l_{h}{\cos\left( {\alpha + \alpha_{0}} \right)}\left( {V_{f} - V_{b}} \right)} \\ {= {{K_{f}l_{a}\sin\;\beta\;{\sin\left( {\alpha + \alpha_{0}} \right)}V_{s}} + {K_{f}l_{h}{\cos\left( {\alpha + \alpha_{0}} \right)}V_{d}}}} \end{matrix} & (3) \end{matrix}$

If (α+α₀)=π/2, i.e. the arm is in horizontal position, the above travel motion becomes J _(t)

=K _(f) l _(α) sin β sin(α+α₀)V _(s)  (4)

From the above modeling we know that, the elevation acceleration is a function of the sum of the voltages applied to the two motors, and the pitch acceleration is a function of difference between them. If the pitch angle β and elevation angle α are constants and β is a small value, the travel motion become J_(t){umlaut over (γ)}=Kβ  (5) where K*=K_(f)l_(α)V_(s) sin(α+α₀) and this equation means that the travel acceleration is governed by the pitch angle. Considering these modeling characteristics and assuming the travel motion can be achieved by high-precise pitch tracking, we can simplify the 3-DOF attitude dynamics to 2-DOF one, which includes elevation and pitch motion, as given in (6).

$\begin{matrix} {{{\begin{bmatrix} \frac{J_{e}}{K_{f}l_{a}\cos\;\beta} & 0 \\ 0 & \frac{J_{p}}{K_{f}l_{h}} \end{bmatrix}\begin{bmatrix} \overset{¨}{\alpha} \\ \overset{¨}{\beta} \end{bmatrix}} + \begin{bmatrix} \frac{m\; g\;{\sin\left( {\alpha + \alpha_{0}} \right)}}{K_{f}\cos\;\beta} \\ 0 \end{bmatrix}} = \begin{bmatrix} V_{s} \\ V_{d} \end{bmatrix}} & (6) \end{matrix}$ and in matrix format

$\begin{matrix} {{{{J\;\overset{¨}{\Theta}} + {N\left( {\Theta,m,K_{f}} \right)}} = v}{where}{{J \in R^{2 \times 2}} = {{diag}\left\lbrack {\frac{J_{e}}{K_{f}l_{o}\cos\;\beta}\frac{J_{p}}{K_{j}l_{h}}} \right\rbrack}}} & (7) \end{matrix}$ is the moment of inertia, Θε

²=[αβ]^(T)| is the attitude (elevation and pitch) vector,

${{N\left( {\Theta,m,K_{f}} \right)} \in {\mathbb{R}}^{2}} = \left\lbrack {\frac{m\; g\;{\sin\left( {\alpha + \alpha_{0}} \right)}}{K_{f}\cos\;\beta}0} \right\rbrack^{T}$ is the nonlinear term, and vε

²=[V_(s) V_(d)]^(T) is control voltage vector. For

${{- \frac{\pi}{2}} < \beta < \frac{\pi}{2}},$ the inertia matrix J is a positive-definite matrix.

Consider n such helicopters, we have a set of dynamic equations

$\begin{matrix} \begin{matrix} {{{J_{1}{\overset{¨}{\Theta}}_{1}} + {N_{1}\left( {\Theta_{1},m_{1},K_{f\; 1}} \right)}} = V_{1}} \\ \vdots \\ {{{J_{i}{\overset{¨}{\Theta}}_{i}} + {N_{i}\left( {\Theta_{i},m_{i},K_{fi}} \right)}} = V_{i}} \\ \vdots \\ {{{J_{n}{\overset{¨}{\Theta}}_{n}} + {N_{n}\left( {\Theta_{n},m_{n},K_{fn}} \right)}} = V_{n}} \end{matrix} & (8) \end{matrix}$

The above equation set can be further formulated in a matrix format as I{umlaut over (Θ)}+Ñ(Θ,m,K _(f))=V  (9) where Θε

^(2n), Ñε

^(2n), vε

^(2n), mε

^(n), K_(f)ε

^(n) are vectors, Iε

^(2n×2n) is a diagonal inertia matrix, and they have the following expressions I=diag[J₁ J₂ . . . J_(i) . . . J_(n)] Θ=[Θ₁ Θ₂ . . . Θ_(i) . . . Θ_(n)]^(T)=[α₁ β₁ α₂ β₂ . . . α_(i) β_(i) . . . α_(n) β_(n)]^(T) m=[m₁ m₂ . . . m_(i) . . . m_(n)]^(T) K_(f)=[K_(f1) K_(f2) . . . K_(fi) . . . K_(fn)]^(T) Ñ=[N₁ N₂ . . . N_(i) . . . N_(n)]^(T) V=[V₁ V₂ . . . V_(i) . . . V_(n)]^(T)=[V_(s1) V_(d1) V_(s2) V_(d2) . . . V_(si) V_(di) . . . V_(sn) V_(dn)]^(T) 2. Synchronization Controller Design 2.1. Control Objective

First, we define E(t)ε

^(2n), Ė(t)ε

^(2n)| as the attitude angle and attitude angular velocity tracking error vectors of n 3-DOF helicopters, Ξ(t)ε

^(2n) au {dot over (Ξ)}(t)| as the synchronization error and error derivative vectors. They have the following expressions E(t)

[e₁(t)e₂(t) . . . e_(i)(t) . . . e_(n)(t)]^(T)  (10) Ė(t)

[ė₁(t)ė₂(t) . . . ė_(i)(t) . . . ė_(n)(t)]^(T)  (11) Ξ(t)

[ε₁(t)ε₂(t) . . . ε_(i)(t) . . . ε_(n)(t)]^(T)  (12) {dot over (Ξ)}(t)

[{dot over (ε)}₁(t){dot over (ε)}₂(t) . . . {dot over (ε)}_(n)(t)]^(T)  (13) e_(i)(t)

Θ_(d)(t)−Θ_(i)(t)  (14) ė_(i)(t)

{dot over (Θ)}_(d)(t)−{dot over (Θ)}_(i)(t)  (15) where Θ_(d)ε

² and {dot over (Θ)}_(d)ε

² are the desired trajectories for attitude angle and angular velocity. The details on synchronization error will be discussed in the subsequent section.

For synchronized trajectory tracking of multiple 3-DOF helicopters, first of all, the designed controller should guarantee the stability of the attitude trajectory tracking errors of all involved systems. Secondly, the controller should also guarantee the stability of the synchronization errors. Thirdly, the controller should regulate the attitude motion to track the desired trajectory at the same rate so that the synchronization errors go to zero simultaneously.

Thus, the control objective becomes: E(t)→0, Ξ(t)→0 as t→

2.2. Generalized Synchronization Error

Synchronization error is used to identify the performance of synchronization controller, i.e. how the trajectory of each 3-DOF helicopter converges with respect to each other. There are various known ways to choose the synchronization error. However, when the number of involved systems is extreme large, this kind of synchronization strategy will lead to intensive on-line computational work. Thus, we propose the following more feasible and efficient concept of generalized synchronization error. Ξ(t)=TE(t)|  (16) where Ξ(t)| is a linear combination of attitude tracking error E(t), T ε

^(2n×2n)| is the generalized synchronization transformation matrix.

By choosing different matrix T, we can form different synchronization errors. For example, if we choose the following synchronization transformation matrix T,

$\begin{matrix} {T = \begin{bmatrix} I & {- I} & \; & \; & \; \\ \; & I & {- I} & \; & \; \\ \; & \; & ⋰ & ⋰ & \; \\ \; & \; & \; & I & {- I} \\ {- I} & \; & \; & \; & I \end{bmatrix}} & (17) \end{matrix}$ we get the following synchronization error formula

$\begin{matrix} \begin{matrix} {{ɛ_{1}(t)} = {{e_{1}(t)} - {e_{2}(t)}}} \\ {{ɛ_{2}(t)} = {{e_{2}(t)} - {e_{3}(t)}}} \\ {{ɛ_{3}(t)} = {{e_{3}(t)} - {e_{4}(t)}}} \\ \vdots \\ {{ɛ_{n}(t)} = {{e_{n}(t)} - {e_{1}(t)}}} \end{matrix} & (18) \end{matrix}$

The synchronization error in Eq. (18) has been used for the synchronization control of multiple robotic manipulators.

More complicated synchronization error formulas, such as those given in Eqs. (19, 20), can be obtained by applying the synchronization transformation matrices in Eqs. (21, 22).

$\begin{matrix} \begin{matrix} {{ɛ_{1}(t)} = {{2{e_{1}(t)}} - {e_{2}(t)} - {e_{n}(t)}}} \\ {{ɛ_{2}(t)} = {{2{e_{2}(t)}} - {e_{3}(t)} - {e_{1}(t)}}} \\ \vdots \\ {{ɛ_{n}(t)} = {{2{e_{n}(t)}} - {e_{n - 1}(t)} - {e_{1}(t)}}} \end{matrix} & (19) \\ \begin{matrix} {{ɛ_{1}(t)} = {{3{e_{1}(t)}} - {e_{2}(t)} - {e_{3}(t)} - {e_{n}(t)}}} \\ {{ɛ_{2}(t)} = {{3{e_{2}(t)}} - {e_{3}(t)} - {e_{4}(t)} - {e_{1}(t)}}} \\ \vdots \\ {{ɛ_{n}(t)} = {{3{e_{n}(t)}} - {e_{1}(t)} - {e_{2}(t)} - {e_{n - 1}(t)}}} \end{matrix} & (20) \\ {T = \begin{bmatrix} {2I} & {- I} & \; & \; & {- I} \\ {- I} & {2I} & {- I} & \; & \; \\ \; & ⋰ & ⋰ & ⋰ & \; \\ \; & \; & {- I} & {2I} & {- I} \\ {- I} & \; & \; & {- I} & {2I} \end{bmatrix}} & (21) \\ {T = \begin{bmatrix} {3I} & {- I} & {- I} & \; & {- I} \\ {- I} & {3I} & {- I} & {- I} & \; \\ \; & ⋰ & ⋰ & ⋰ & \; \\ {- I} & \; & {- I} & {3I} & {- I} \\ {- I} & {- I} & \; & {- I} & {3I} \end{bmatrix}} & (22) \end{matrix}$

In Eqs. (18, 19, 20), each individual helicopter's synchronization error is a linear combination of its tracking error and one, two or three adjoining helicopters' tracking errors. Under the same controller gains, the synchronization error in Eq. (20) is expected to produce the best synchronization performance among these three synchronization errors because the most tracking errors are included in each controller. Whereas, the synchronization error in Eq. (18) will produce the worst synchronization performance. Obviously, other kinds of synchronization errors can be formed in a similar way.

2.3. Coupled Attitude Error

For controller design, the coupled attitude error E*(t)ε

^(2n)| that contains both attitude trajectory tracking error E(t) and the synchronization error Ξ(t) is introduced

$\begin{matrix} {{{E^{*}(t)} = {{E(t)} + {{BT}^{T}{\int_{0}^{t}{\Xi{\mathbb{d}\tau}}}}}}{where}{E^{*}\overset{\Delta}{=}{{\begin{bmatrix} e_{1}^{*} & e_{2}^{*} & \cdots & e_{n}^{*} \end{bmatrix}^{T}B}\overset{\Delta}{=}{{diag}\begin{bmatrix} B_{1} & B_{2} & \cdots & B_{n} \end{bmatrix}}}}} & (23) \end{matrix}$ is a positive coupling gain matrix.

Correspondingly, the coupled angular velocity error can be expressed as Ė*(t)=Ė(t)+BT ^(T)Ξ(t)|  (24)

For the synchronization transformation matrix T in Eq. (17), the coupled attitude errors will be

$\begin{matrix} \begin{matrix} {{e_{1}^{*}(t)} = {{e_{1}(t)} + {B_{1}{\int_{0}^{t}{\left( {{ɛ_{1}(\tau)} - {ɛ_{n}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ {{e_{2}^{*}(t)} = {{e_{2}(t)} + {B_{2}{\int_{0}^{t}{\left( {{ɛ_{2}(\tau)} - {ɛ_{1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ \vdots \\ {{e_{n}^{*}(t)} = {{e_{n}(t)} + {B_{n}{\int_{0}^{t}{\left( {{ɛ_{n}(\tau)} - {ɛ_{n - 1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \end{matrix} & (25) \end{matrix}$

Similarly, the coupled attitude errors corresponding to T in Eqs. (21, 22) are

$\begin{matrix} {\begin{matrix} {{e_{1}^{*}(t)} = {{e_{1}(t)} + {B_{1}{\int_{0}^{t}{\left( {{2{ɛ_{1}(\tau)}} - {ɛ_{2}(\tau)} - {ɛ_{n}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ {{e_{2}^{*}(t)} = {{e_{2}(t)} + {B_{2}{\int_{0}^{t}{\left( {{2{ɛ_{2}(\tau)}} - {ɛ_{3}(\tau)} - {ɛ_{1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ \vdots \\ {{e_{n}^{*}(t)} = {{e_{n}(t)} + {B_{n}{\int_{0}^{t}{\left( {{2{ɛ_{n}(\tau)}} - {ɛ_{n - 1}(\tau)} - {ɛ_{1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \end{matrix}{and}} & (26) \\ \begin{matrix} {{e_{1}^{*}(t)} = {{e_{1}(t)} + {B_{1}{\int_{0}^{t}{\left( {{3{ɛ_{1}(\tau)}} - {ɛ_{2}(\tau)} - {ɛ_{n - 1}(\tau)} - {ɛ_{n}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ {{e_{2}^{*}(t)} = {{e_{2}(t)} + {B_{2}{\int_{0}^{t}{\left( {{3{ɛ_{2}(\tau)}} - {ɛ_{3}(\tau)} - {ɛ_{n}(\tau)} - {ɛ_{1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \\ \vdots \\ {{e_{n}^{*}(t)} = {{e_{n}(t)} + {B_{n}{\int_{0}^{t}{\left( {{3{ɛ_{n}(\tau)}} - {ɛ_{1}(\tau)} - {ɛ_{n - 2}(\tau)} - {ɛ_{n - 1}(\tau)}} \right){\mathbb{d}\tau}}}}}} \end{matrix} & (27) \end{matrix}$

From Eq. (25) we can see that, the synchronization error ε_(i)(t)| appears in

e_(i)^(*)(t)  and  e_(i + 1)^(*)(t) with opposite sign. Similar observations are obtained for the synchronization error in Eqs. (26, 27). In this way, the coupled attitude errors are driven in opposite directions by ε_(i)(t)|, which contributes to the elimination of the synchronization error ε_(i)(t)|. 2.4. Synchronized Tracking Controller

The synchronized tracking controller includes two parts: feedback and feedforward. The feedback part employs PD feedback law plus synchronization feedback term, u(t)=K _(P) E*(t)+K _(D) Ė*(t)+K _(s) T ^(T)Ξ(t)|  (28) where K_(P), K_(D), K_(s)ε

^(2n×2n)| are constant, diagonal, positive-definite, control gain matrices.

By defining the following coupled filtered tracking error, r(t)=Ė*(t)+ΛE*(t)  (29) we can rewrite Eq. (28) as u(t)=Kr(t)+K _(s) T ^(T)Ξ(t)  (30) where r(t)

[r₁(t) r₂(t) . . . r_(n)(t)]^(T), Λε

^(2n×2n)

diag[K_(P1)/K_(D1) K_(P2)/K_(D2) . . . K_(Pn)/K_(Dn)], K=K_(D).

The feedforward part, ũ(t), is designed to be ũ(t)=IΦ+Ñ(Θ,m,K _(f))  (31) where Φ={umlaut over (Θ)}_(d)+ΛĖ*+BT^(T){dot over (Ξ)}.|_(·)

So the total control voltage V(t) is

$\begin{matrix} \begin{matrix} {{V(t)} = {{\overset{\sim}{u}(t)} + {u(t)}}} \\ {= {{I\;\Phi} + {\overset{\sim}{N}\left( {\Theta,m,K_{f}} \right)} + {{Kr}(t)} + {K_{s}T^{T}{\Xi(t)}}}} \end{matrix} & (32) \end{matrix}$

Theorem 1. The proposed synchronization controller in (30, 31, 32) guarantees asymptotic convergence to zero of both attitude trajectory tracking error E(t) and synchronization error Ξ({dot over (t)}) for pitch angle

${\beta \in \left( {{- \frac{\pi}{2}},\frac{\pi}{2}} \right)},{i.e.}$

$\begin{matrix} {{\lim\limits_{t->\infty}{E(t)}},{{\Xi(t)} = 0}} & (33) \end{matrix}$

Proof. Choose the following Lyapunov function

$\begin{matrix} {{V\left( {r,\overset{\sim}{\Psi},\Xi} \right)}\overset{\Delta}{=}{{\frac{1}{2}r^{T}{Ir}} + {\frac{1}{2}{\overset{\sim}{\Psi}}^{T}\Gamma^{- 1}\overset{\sim}{\Psi}} + {\frac{1}{2}\Xi^{T}K_{s}\Xi} + {\frac{1}{2}\left( {\int{T^{T}\Xi{\mathbb{d}\tau}}} \right)^{T}B\;\Lambda\;{K_{s}\left( {\int{T^{T}\Xi{\mathbb{d}\tau}}} \right)}}}} & (34) \end{matrix}$

Because Γ⁻¹, K_(s), BΛ| are all positive-definite matrices and I is positive-definite when pitch angle

${\beta \in \left( {{- \frac{\pi}{2}},\frac{\pi}{2}} \right)},$ thus the Lyapunov function V(r,Ξ) is a positive-definite function when

$\beta \in {\left( {{- \frac{\pi}{2}},\frac{\pi}{2}} \right).}$

Differentiating (34) with respect to time t yields {dot over (V)}(r,Ξ)=r ^(T) I{dot over (r)}+Ξ ^(T) K _(s){dot over (Ξ)}+(∫T ^(T) Ξdr)^(T) BΛK _(s) T ^(T)Ξ  (35)

Differentiating (29) with respect to time t and consider (10, 14, 23, 24), we have

$\begin{matrix} \begin{matrix} {\overset{.}{r} = {{\overset{¨}{E}}^{*} + {\Lambda\;{\overset{.}{E}}^{*}}}} \\ {= {\overset{¨}{E} + {{BT}^{T}\overset{.}{\Xi}} + {\Lambda\;{\overset{.}{E}}^{*}}}} \\ {= {{\overset{¨}{\Theta}}_{d} - \overset{¨}{\Theta} + {{BT}^{T}\overset{.}{\Xi}} + {\Lambda\;{\overset{.}{E}}^{*}}}} \\ {= {\Phi - \overset{¨}{\Theta}}} \end{matrix} & (36) \end{matrix}$

Multiplying I at the both sides of (36) and substituting with (9, 32), we obtain

$\begin{matrix} \begin{matrix} {{I\overset{.}{r}} = {{I\;\Phi} - {I\;\overset{¨}{\Theta}}}} \\ {= {{I\;\Phi} - \left( {V - {\overset{\sim}{N}\left( {\Theta,m,K_{f}} \right)}} \right)}} \\ {= {{I\;\Phi} + {\overset{\sim}{N}\left( {\Theta,m,K_{f}} \right)} -}} \\ {\left( {{I\;\Phi} + {\overset{\sim}{N}\left( {\Theta,m,K_{f}} \right)} + {{Kr}(t)} + {K_{s}T^{T}{\Xi(t)}}} \right)} \\ {= {{- {Kr}} - {\overset{.}{K_{s}T^{T}}\Xi}}} \end{matrix} & (37) \end{matrix}$

Substituting (37) into (35) yields

$\begin{matrix} \begin{matrix} {{\overset{.}{V}\left( {r,\Xi} \right)} = {{r^{T}I\;\overset{.}{r}} + {\Xi^{T}K_{s}\overset{.}{\Xi}} + {\left( {\int{T^{T}\Xi{\mathbb{d}\tau}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}\Xi}}} \\ {= {{{- r^{T}}{Kr}} - {r^{T}K_{s}T^{T}\Xi} + {\Xi^{T}{\overset{.}{K}}_{s}\overset{.}{\Xi}} +}} \\ {\left( {\int{T^{T}\Xi{\mathbb{d}\tau}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}\Xi} \end{matrix} & (38) \end{matrix}$

Replacing r in the second term of (38) with (23, 24, 29), we have

$\begin{matrix} {{\overset{.}{V}\left( {r,\Xi} \right)} = {{{- r^{T}}{Kr}} - {\left\lbrack {\overset{.}{E} + {{BT}^{T}\Xi} + {\Lambda\; E} + {B\;\Lambda\; T^{T}{\int{\Xi{\mathbb{d}\tau}}}}} \right\rbrack^{T}K_{s}T^{T}\Xi} +}} \\ {{\Xi^{T}K_{s}\overset{.}{\Xi}} + {\left( {\int{T^{T}\Xi{\mathbb{d}\tau}}} \right)^{T}B\;\Lambda\; K_{s}T^{T}\Xi}} \\ {= {{{- r^{T}}{Kr}} - {\left( {T\overset{.}{E}} \right)^{T}K_{s}\Xi} - {\Xi^{T}{TBK}_{s}T^{T}\Xi} -}} \\ {{({TE})^{T}\Lambda\; K_{s}\Xi} + {\Xi^{T}K_{s}\overset{.}{\Xi}}} \\ {= {{{- r^{T}}{Kr}} - {\left( {T^{T}\Xi} \right)^{T}{BK}_{s}T^{T}\Xi} - {\Xi^{T}\Lambda\; K_{s}\Xi}}} \end{matrix}$

Because K, BK_(s), and ΛK_(s)| are all positive-definite matrices, so we can conclude that

$\begin{matrix} {{\overset{.}{V}\left( {r,\Xi} \right)} = {{{{- r^{T}}{Kr}} - {\left( {T^{T}\Xi} \right)^{T}{BK}_{s}T^{T}\Xi} - {\Xi^{T}\Lambda\; K_{s}\Xi}} \leq 0}} & (39) \end{matrix}$

Since {dot over (V)}(r,Ξ)≦0| in (39), the V(r,Ξ) given in (34) is either decreasing or constant. Due to the fact that V(r,Ξ) is non-negative, we conclude that V(r,Ξ){dot over (ε)}

hence rε

|. With rε

,|we can conclude from (29) that Ė*(t)ε

and E*(t)ε

|, and E(t), Ė(t), Ξ(t), {dot over (Ξ)}(t)ε

] based on their definitions. Because of the boundedness of Θ_(d)(t) and {dot over (Θ)}_(d)(t)|, we conclude that Θ(t)ε

and {dot over (Θ)}(t)ε

from (14). With the previous boundedness statements and the fact that {umlaut over (Θ)}_(d)(t)| is also bounded, Φ ε

and Ñ(·)ε

can be concluded from their definitions. Hence, the control input V(t)_(. . .) ε

| is also determined from (32). The preceding information can also be used to (9) and (36) to get

${\overset{¨}{\Theta}(t)},{{\overset{.}{r}(t)} \in {\mathcal{L}_{\infty}.}}$ Now we have explicitly illustrated that all signals in the synchronization trajectory tracking controller and system remain bounded during the closed-loop operation.

From (39), we show that r(t)ε

₂, T^(T)Ξ(t)ε

₂ and Ξ(t)ε

₂| Hence,

${\lim\limits_{t->\infty}{r(t)}} = {{0\mspace{14mu}{and}\mspace{14mu}{\lim\limits_{t->\infty}{\Xi(t)}}} = 0}$ can be obtained according to Corollary 1.1 in [10]. Furthermore, we can conclude that

${\lim\limits_{t\rightarrow\infty}{E^{*}(t)}},{{{\overset{.}{E}}^{*}(t)} = 0}$ using Lemma 1.6 in [10].

When Ξ(t)=0, i.e. ε_(i)(t)=0 for i=1, 2, . . . , n|, we can know from the synchronization errors in (18, 19) that e ₁(t)=e ₂(t)= . . . =e _(n)(t)  (40)

Also, from the coupled attitude errors in (25, 26) we can get e ₁*(t)+e ₂*(t)+ . . . +e _(n)*(t)=e ₁(t)+e ₂(t)+ . . . +e _(n)(t)  (41)

Because of

${{\lim\limits_{t->\infty}{E^{*}(t)}} = 0},$ we can conclude that e ₁(t)=e ₂(t)= . . . =e _(n)(t)=0  (42)

From (39) and the above derivation we can know that {dot over (V)}(·)=0 only if E(t)=0. Using LaSalle's theorem,

${\lim\limits_{t->\infty}{E(t)}} = 0.$ can be concluded. Thus we finally reach

${\lim\limits_{t->\infty}{E(t)}},{{\Xi(t)} = 0}$ 3. Simulations

Simulations are conducted on model consists of four 3-DOF helicopters. The parameters for these 3-DOF helicopters are given in Table 3.

Given the following desired attitude trajectory for all 3-DOF helicopters to track α_(d)(t)=25.0 sin(0.1πt)deg  (43) β_(d)(t)=10.0 sin(0.1πt)deg  (44)

The control gains are tuned by trial and error until a good trajectory tracking performance is achieved. The gains used in experiments are also given in Table 3.

For comparison between different synchronization errors, three kinds of synchronization strategies are considered: 1) Synchronization Strategy I: The synchronization error and the coupled attitude error are given in Eq. (18) and Eq. (25); 2) Synchronization Strategy II: The synchronization error and the coupled attitude error are given in Eq. (19) and Eq. (26); 3) Synchronization Strategy III: The synchronization error and the coupled attitude error are given in Eq. (20) and Eq. (27). For all simulations, we consider sudden disturbances in mass and moments of inertia appear during simulation. Table 3 lists the values and time instants of these disturbances.

For performance evaluation, we calculate the 2-norms of attitude tracking error E(t) and the standard synchronization error Ξ_(s)(t), which is chosen to be the same as that in Eq. (18). The calculated results in Table 4 show that the attitude tracking error E(t)→0 can be realized by using any controllers: without/with synchronization strategies. However, without the synchronization strategy, there will be significant differences between the attitude tracking errors of these four 3-DOF helicopters, i.e. the synchronization errors are large, and the disturbances affect the performance a lot. From Table 4 we know that the maximal 2-norms of synchronization errors for elevation and pitch axes are 0.8025 deg and 0.9543 deg without synchronization strategy. Using the proposed synchronization strategies, the synchronization errors can be remarkably reduced and the effect of disturbances on the synchronization performance has been suppressed well. For the synchronization strategy I, II and III, the corresponding maximal 2-norms have fallen to 0.2772 deg and 0.3040 deg, 0.2170 deg and 0.2443 deg, 0.1888 deg and 0.2095 deg, respectively. The more complicated the synchronization strategy is, the smaller the synchronization error. These results validate the previous expectation. However, the better synchronization performance is obtained at the cost of more on-line computation burden, less reliability, and more control efforts.

In sum, the simulation results on four 3-DOF helicopters demonstrate the effectiveness of the synchronization controller. Further investigation indicates that better synchronization performance can be realized, at the cost of computational burden, and control efforts.

TABLE 3 Parameters and control gains for four 3-DOF helicopters. Parameters/gains I II III IV Moment of inertia J_(ci) 0.91 1.00 0.8 1.2 Moment of inertia J_(pi) 0.0364 0.045 0.04 0.05 Mass m_(i) 0.051 0.061 0.071 0.081 J_(ci) disturbance 0.25 0.25 0.25 0.25 J_(pi) disturbance −0.02 −0.02 −0.02 −0.02 m_(i) disturbance 0.015 0.015 0.015 0.015 Time for J_(ci) disturbance on, s 1.5 2.5 3.5 4.5 Time for J_(pi) disturbance on, s 1.5 2.5 3.5 4.5 Time for m disturbance on, s 1.0 2.0 3.0 4.0 K_(fi) 0.5 l_(ai) 0.66 l_(hi) 0.177 Attitude feedback gains, K_(i) diag[9.0 1.0] Synchronization feedback gains, K_(si) diag[3.0 3.0] Control gains, Λ_(i) diag[5.0 5.0] Synchronization coupling gains, B_(i) diag[3.0 3.0]

TABLE 4 Performance evaluation without/with synchronization strategy, in degrees. Errors I II III IV No synchronization ||e_(α)||₂ 1.5490 1.3598 0.9768 1.5010 ||e_(β)||₂ 0.5816 1.1597 0.8451 0.2138 ||ε_(sα)||₂ 0.2803 0.5799 0.8025 0.3578 ||ε_(sβ)||₂ 0.5898 0.3206 0.9543 0.6850 Synchronization I ||e_(α)||₂ 1.2862 1.3213 1.4350 1.3351 ||e_(β)||₂ 0.5882 0.5595 0.5558 0.7323 ||ε_(sα)||₂ 0.1657 0.2291 0.2772 0.1170 ||ε_(sβ)||₂ 0.1957 0.1162 0.3040 0.2228 Synchronization II ||e_(α)||₂ 1.2907 1.3576 1.4846 1.3544 ||e_(β)||₂ 0.5856 0.5115 0.5397 0.7074 ||ε_(sα)||₂ 0.1345 0.1832 0.2170 0.1002 ||ε_(sβ)||₂ 0.1537 0.0686 0.2443 0.1599 Synchronization III ||e_(α)||₂ 1.3181 1.3835 1.5015 1.3675 ||e_(β)||₂ 0.6336 0.5782 0.5906 0.7391 ||ε_(sα)||₂ 0.0959 0.1600 0.1888 0.0678 ||ε_(sβ)||₂ 0.0842 0.0212 0.2095 0.1463

LIST OF REFERENCES

-   [1] Y. Koren, “Cross-coupled biaxial computer controls for     manufacturing systems,” ASME Journal of Dynamic Systems,     Measurement, and Control, vol. 102, pp. 265-272, 1983. -   [2] P. Kulkarni and K. Srinivasan, “Cross-coupled control of biaxial     feed drive servomechanisms,” ASME Journal of Dynamic Systems,     Measurement, and Control, vol. 112, no. 2, 1990. -   [3] T. Kamano, T. Suzuki, N. Iuchi, and M. Tomizuka, “Adaptive     feedforward controller for synchronization of two axed postitioning     system,” Transactions of Society of Instrument and Control Engineers     (SICE), vol. 29, no. 7, pp. 785-791, 1993. -   [4] P. Moore and C. Chen, “Fuzzy logic coupling and synchronized     control of multiple independent servo-drives,” Control Engineering     Practice, vol. 3, no. 12, pp. 1697-1708, 1998. -   [5] H. Lee and G. Jeon, “A neuro-controller for synchronization of     two motion axes,” International Journal of Intelligent Systems, pp.     571-586, 1998. -   [6] Jadbabaie, J. Lin, and A. S. Morse, “Coordination of groups of     mobile autonomous agents using nearest rules,” IEEE Transactions on     Automatic Control, vol. 48, pp. 988-1001, June 2003. -   [7] J. R. Lawton, R. W. Beard, and B. J. Young, “A decentralized     approach to formation maneuvers,” IEEE Transactions on Robotics and     Automation, vol. 19, no. 6, pp. 933-941, 2003. -   [8] Rodriguez-Angeles and H. Nijmeijer, “Mutual synchronization of     robots via estimated state feedback: a cooperative approach,” IEEE     Transactions on Control Systems Technology, vol. 12, pp. 542-554,     July 2004. -   [9] J. Gudino-Lau, M. A. Arteaga, L. A. Munoz, and V. Parra-Vega,     “On the control of cooperative robots without velocity measurement,”     IEEE Transactions on Control Systems Technology, vol. 12, pp.     600-608, July 2004. -   [10] Hugh H. T. Liu and D. Sun, “Uniform synchronization in     multi-axis motion control,” in Proceedings of the American Control     Conference, (Portland, Oreg.), pp. 4537-4542, Jun. 8-10 2005. -   [11] J. Shan and Hugh H. T. Liu, “Adaptive attitude synchronization     tracking control of multiple UAVs in formation flight,” in     Proceedings of the American Control Conference, (Portland, Oreg.),     pp. 128-133, Jun. 8-10 2005. -   [12] Hugh H. T. Liu and S. Nowotny, “Coordinated tracking control of     multiple laboratory helicopters: centralized and de-centralized     design approaches,” in AIAA Guidance, Navigation, and Control     Conference and Exhibit, (San Francisco, Calif.), Aug. 15-18 2005. -   [13] J. Shan and Hugh H. T. Liu, “Tracking synchronization of     multiple 3-DOF experimental helicopters,” in AIAA Guidance,     Navigation, and Control Conference and Exhibit, (San Francisco,     Calif.), Aug. 15-18 2005. -   [14] J. Shan and Hugh H. T. Liu, “Development of an experimental     testbed for multiple vehicles formation flight control,” in     Proceedings of IEEE Conference on Control & Applications, (Toronto,     Canada), Aug. 28-31 2005. 

1. A computer implemented method for synchronizing motion for at least two dynamic systems comprising: (a) providing a generic motion control synchronization framework in accordance with a computer program linked to a computer device, the generic synchronization framework defining a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems having the same or different control applications; (b) populating the generic synchronization framework with the synchronization parameters; and (c) determining a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems.
 2. The method of claim 1 wherein the parameter matrix defines a feasible space in which each member of the parameter matrix is a feasible solution.
 3. The method of claim 1, comprising the further step of achieving simultaneous convergence by operation of the parameter matrix.
 4. The method of claim 2, wherein the feasible space is searchable for improved or optimal solution(s) for the parameter matrix.
 5. The method of claim 1, wherein the synchronization parameters consist of synchronization selections converted into numerical parameters, the numerical parameters including one or numerical values related to the motion of the dynamic systems and/or motion related constraints for the dynamic systems.
 6. The method of claim 1, wherein the parameter matrix includes a synchronization parameter consisting of a synchronization error value.
 7. The method of claim 1, wherein the parameter matrix includes synchronization parameters consisting of an inertia value and a centrifugal value.
 8. The method of claim 1, wherein the parameter matrix includes a synchronization parameter consisting of a Coriolis value.
 9. The method of claim 4, comprising the further step of applying one or more numerical optimization methods in order to obtain the improved or optimal solution(s) for the parameter matrix.
 10. The method of claim 1, comprising the further step of applying an automated search routine to the parameter matrix to obtain the synchronization solution.
 11. The method of claim 1, comprising the further step of applying a numerical computational program to the parameter matrix to obtain the synchronization solution.
 12. The method of claim 9, wherein the optimization method is constrained.
 13. The method of claim 1, wherein the dynamic systems include vehicles.
 14. The method of claim 1, wherein the dynamic systems include robots.
 15. The method of claim 1, comprising the further step of initiating a computer program that is operable to establish and process the generic synchronization framework.
 16. The method of claim 1, comprising the further step of obtaining control data from the solution of the parameter matrix.
 17. The method of claim 16, comprising the further step of providing the control data to one or more of the dynamic systems to achieve motion synchronization.
 18. The method of claim 16, comprising the further step of translating the control data into a format that is operable in connection with one or more motion control systems associated with the dynamic systems.
 19. The method of claim 18, wherein the one or more motion control systems consist of control applications linked to the dynamic systems.
 20. The method of claim 18, wherein the motion control systems consists of one or more navigation systems associated with vehicles.
 21. A system for synchronizing motion between at least two dynamic systems, the system comprising: (a) a computer device; and (b) a computer program linked to the computer device, computer device and computer program being operable to: i) define a generic motion control synchronization framework, the generic synchronization framework being operable to establish a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems having the same or different control applications; ii) populate the generic synchronization framework with the synchronization parameters; and iii) determine a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems.
 22. The system as claimed in claim 21, wherein the generic synchronization framework is representative of a dynamic model of the dynamic systems to be synchronized.
 23. The system as claimed in claim 21, wherein the generic synchronization framework is further operable to calculate synchronization errors based on desired states of the dynamic systems and actual states of the dynamic systems.
 24. A computer program product for use on a computer device for synchronizing motion for at least two dynamic systems, the computer program product comprising: (a) a computer usable medium; and (b) computer readable program code recorded or stored in the computer useable medium, the computer readable program code defining a control application on the computer device that is operable to: i) define a generic motion control synchronization framework, the generic synchronization framework being operable to establish a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of a plurality of synchronization parameters related to the motion of the at least two dynamic systems having the same or different control applications; ii) populate the generic synchronization framework with the synchronization parameters; and iii) determine a solution for the parameter matrix adaptively, thereby obtaining a solution for synchronizing motion of the dynamic systems.
 25. The computer program product of claim 24, wherein the control application is operable to apply one or more numerical optimization methods in order to obtain improved or optimal solution(s) for the parameter matrix.
 26. The computer program product of claim 24, the control application being operable to provide control data operable on the dynamic systems to achieve motion synchronization.
 27. The computer program product of claim 24, wherein the control application is interoperable with one or more motion control systems associated with the dynamic systems.
 28. The computer program product as claimed in claim 27, wherein the motion control systems consist of one or more motion control applications or navigation systems associated with the dynamic systems.
 29. The computer program product of claim 26, the computer program product being further operable to translate the control data into a format that is operable in connection with one or more motion control systems associated with the dynamic systems.
 30. A computer implemented method for synchronizing motion between at least two dynamic systems, comprising the steps of: (a) developing a dynamic model of the dynamic systems; (b) obtaining estimates for selected synchronization parameters related to the motion of the dynamic systems, by operation of the dynamic model; (c) populating a generic motion control synchronization framework with the synchronization parameters in accordance with a computer program linked to a computer device, the generic synchronization framework defining a parameter matrix and a uniform control framework, the generic synchronization framework being operable to perform adaptive control of the synchronization parameters related to the motion of the at least two dynamic systems having the same or different control applications; (d) calculating selected synchronization errors based on the desired states and the actual states for the dynamic systems; and (e) converting the selected synchronization errors are converted into the parameter matrix and adaptively applying synchronization strategies to the parameter matrix and solving the parameter matrix so as to obtain a solution to the selected synchronization errors. 